From: http://web.archive.org/web/20150218015420/http://www.os2museum.com/wp/os2-history/os2-beginnings/

OS/2 Beginnings

The following text is not an introduction to the history of OS/2 or
the design of the operating system. It only maps the early
semi-public development builds of Microsoft OS/2 prior to the release
of OS/2 1.1 and the Presentation Manager.

All screenshots were taken from slightly customized VirtualBox 4.0
VMs, unless otherwise noted.

The timeline is not authoritative; it is based on press releases and
press articles (where available) and timestamps of files on
distribution media. Developers would have been expected to receive
the materials with a delay of several weeks.

The OS/2 SDK

About six months before OS/2 1.0 was released to the public,
Microsoft shipped the first OS/2 Software Development Kit (SDK) to
ISVs who were part of Microsofts OS/2 development program. The
program wasnt cheap-the price of admission was $3,000 (in 1987
dollars). In return, developers received everything they needed to
write OS/2 applications: The operating system itself, development
tools including Microsoft C and MASM, programming examples, printed
and electronic documentation, a subscription to the Microsoft Systems
Journal, and access to Microsoft DIAL, an electronic technical
support system. That is, everything except hardware-the OS/2 SDK
required an IBM PC/AT or compatible (including the Compaq Deskpro 286
or 386) with at least 1.5 MB RAM.

In retrospect, the $3,000 price tag had been too steep. Too many
developers balked at the price and continued developing for DOS (and
later, Windows). Microsoft learned the lesson and the development
tools for its next operating system, Windows NT, were much more
accessibly priced.

April 1987 - Announcement

OS/2 was officially announced, together with the IBM PS/2 line of
computers. Microsoft ran spreads advertising OS/2 in publications
such as the Wall Street Journal, and a few weeks later published ads
for the upcoming OS/2 SDK in trade press (InfoWorld).

May 1987 - SDK 1.00

At the end of May 1987, Microsoft started shipping the OS/2 SDK 
version 1.00. This SDK contained a pre-release build of OS/2, not 
OS/2 1.0. Also included were beta versions of Microsoft MASM and C, 
both with a 4.50 version tag. The SDK came with a heavy stack of 
printed documentation which covered the new operating system, the 
complete C and MASM development systems, and OS/2 programming 
documentation.

In addition, the OS/2 SDK shipped with the full Microsoft Windows 
1.04 SDK which included Windows 1.04 itself, programming tools and 
libraries, as well as Microsoft C 4.0, required to develop for 
Windows. This was not intended to surreptitiously promote Windows 
instead of OS/2; Microsoft simply wanted to help programmers 
understand and learn the new programming model that the upcoming 
Presentation Manager would utilize. Windows 1.0 was similar enough in 
concept that it would have been helpful.

The operating system was clearly unfinished, yet quite usable. The
multi-tasking shell was very spartan. There was no online help, some 
utilities were missing, hardware beyond PC/AT compatibles was 
unsupported. Still, it was possible to use the system to develop OS/2 
software. The C compiler and MASM were marked as beta, but could 
build the sample applications without major issues. Documentation was 
incomplete, there were numerous references to DOS 5 rather than OS/2, 
but the system was functional.

Programmers could certainly get a very good feel for how the finished 
new operating system would work, and could start developing 
applications. The base system API was more or less stable at that 
point. The brave new world of OS/2 was just around the corner.

June/July 1987

Microsoft held OS/2 technical training seminars in Seattle and New 
York. At these seminars, speakers from Microsoft (including some of 
the core OS/2 developers) introduced key OS/2 design concepts, 
including Presentation Manager development.

August 1987 - SDK 1.01

The OS/2 SDK version 1.01 arrived with only a relatively small update 
to the OS: The Program Selector. The system kernel was unchanged and 
only one replacement disk was shipped. The Program Selector was not 
significantly different from the version later shipped with OS/2 1.0.

There were other important additions in the 1.01 SDK though.
Microsoft shipped the complete pre-release documentation for "Windows 
Presentation Manager", the OS/2 GUI which would not be released until 
late 1988.

No less important was the availability of the OS/2 DDK (Device Driver 
Development Kit, sometimes abbreviated as DDDK) version 1.0. The DDK 
contained sample code (a disk driver and a serial port driver) and 
documentation required for the development of OS/2 device drivers. An 
important part of the DDK was the OS/2 debug kernel-a modified 
version of OS2DOS.COM (the OS kernel) with a built-in debugger that 
could be accessed over a serial line. There was also a special test 
kernel, which contained both the kernel debugger and special debug 
routines intended for validating device driver functionality.

December 1987 - SDK 1.02

The 1.02 SDK shipped with the final build of Microsoft OS/2 1.0. 
However, the development tools were still not quite finishedMASM was 
at level 5.00A, while the Microsoft C compiler version was 5.1 beta. 
The programming tools, libraries, examples, and documentation were 
nearing completion as well.

March 1988 - SDK 1.03

The OS/2 SDK version 1.03 was an important milestone: For the first
time, a build of the Presentation Manager GUI was available to 
developers outside Microsoft and IBM.

Also important were the release versions of Microsoft C 5.1 and MASM
5.1, finally shipped with the 1.03 SDK. The version included in the 
SDK was slightly different from the retail release. The SDK release 
of Microsoft C 5.1 also included MASM 5.1, while the normal retail 
products were separate. In addition, QuickC was removed from the SDK 
release, presumably because it didnt support OS/2.

The OS/2 Programmers Toolkit 1.0 was also included; the Toolkit was 
intended for owners of the retail versions of OS/2 1.0 and only 
included programming documentation, libraries, and sample code. Users 
of the Toolkit also had to separately purchase a C compiler and/or 
assembler, such as Microsoft C 5.1/MASM 5.1. Apart from printed 
documentation, reference information was now additionally available 
in the form of QuickHelp on-line databases.

The 1.03 SDK was built around the first pre-release version of the 
OS/2 1.1 kernel. One of the major improvements was support for disk 
partitions larger than 32MB, with the caveat that most DOS versions 
at the time could not access such partitions.

The big news was of course the Presentation Manager. The GUI look and
feel strongly resembled Windows 2.0. In this release, the 
Presentation Manager was very clearly unfinished, the API was not yet 
fully finalized. Still, enterprising developers could finally go from 
reading pre-release documentation to writing code, even though the 
system was somewhat flaky.

Included with the SDK documentation was a draft copy of Charles
Petzolds Programming the OS/2 Presentation Manager, an excellent 
introductory book on Presentation Manager programming which came with 
numerous example programs. Microsoft also provided a guide on 
converting Windows application to the Presentation Manager.

The 1.03 SDK also included the recently released Windows 2.03 with 
the corresponding SDK. This was again intended to give developers a 
head start on designing applications for the not-yet-finished 
Presentation Manager. Windows 2.03 was much closer to the 
Presentation Manager in both functionality and look and feel than 
Windows 1.04 had been. 

April 1988

The DDK was updated to the OS/2 1.0 level, with relatively few
changes.

Microsoft held two Advanced Network Development Conferences, in San
Francisco and New York. These conferences introduced OS/2 networking,
particularly the LAN Manager and SQL Server.

May 1988 - SDK 1.04

The 1.04 SDK was shipped shortly after 1.03 and contained no OS
updates. Instead, a big networking milestone had been reached-the
first preview version of the LAN Manager.

The LAN Manager 1.0 pre-release came with DOS and OS/2 workstation 
(client) and OS/2 server components. Microsoft did not intend to sell 
the LAN Manager directly to end-users but rather license it through 
OEMs. For that reason, drivers for only a very few network cards were 
included; OEMs were expected to supply their own.

Although LAN Manager could be installed on top of the released OS/2
1.0 version, Microsoft recommended using the pre-release version 1.1
kernel instead, without the Presentation Manager components.

August 1988 - SDK 1.05

The OS/2 SDK version 1.05 refreshed the base operating system and the
Presentation Manager. The GUI was now very similar to the final OS/2
1.1 release.

The Presentation Manager in the 1.05 SDK was much more stable and
complete than the earlier 1.03 release from March. Developers could 
now get serious about developing OS/2 GUI applications, although 
relatively few actually did.

September 1988 - DDK 1.05

The updated DDK version 1.05 was significantly larger than the
previous releases because support for developing Presentation Manager
drivers was now included. This version added the source code for the 
EGA/VGA and IBM 8514/A display drivers. However, there was no printer 
driver sample code yet, a fact which no doubt contributed to the 
dearth of printer drivers when OS/2 1.1 was released several months 
later.

The Presentation Manager display drivers were rather complex and 
written entirely in assembler, in part for performance reasons and in 
part because much of the code had been adopted from Windows display 
drivers. The complexity was one of the reasons why very few OEMs 
provided good OS/2 display drivers. It took IBM until 1996 to develop 
a simplified display driver model for OS/2.

November 1988 - SDK 1.06

The OS/2 SDK version 1.06 was somewhat unusual. It included the final
version of IBM OS/2 1.1 SE and a pre-release of Microsofts 
development tools and sample programs. Similar to the situation with 
OS/2 1.0, IBM released the new OS/2 version several months before 
Microsoft delivered the final development kits, and also several 
months before OEM versions of Microsoft OS/2 would appear. The 1.06 
SDK underscored that Microsoft and IBM releases of OS/2 were 
identical as far as applications were concerned.

The SDK provided a good basis for developing OS/2 1.1 applications. 
Both the OS and the development tools were in final retail form, and 
the API headers, libraries, sample code, and documentation were not 
far from the released version.

April 1989 - SDK 1.10

Microsoft shipped the final OS/2 1.1 SDK, a year after the first
Presentation Manager SDK appeared and two years after the 
Presentation Manager had been announced in early April 1987.

The DDK was updated to the OS/2 1.1 level. Sample printer and plotter
drivers (written in C) were finally included, while the rest of the 
DDK had not significantly changed.

At this point, the $3,000 OS/2 SDK was discontinued but immediately
replaced by retail products. That marked the end of the early
development period of OS/2; the system was now established and 
available through retail channels, and Microsofts standard 
development tools supported OS/2.

For basic OS/2 development, a copy of OS/2 1.1 and Microsoft C 5.1 
sufficed. However, MS C 5.1 offered no specific support for writing 
Presentation Manager applications. An OS/2 Presentation Manager 
Softset ($150) was available from Microsoft, offering the necessary 
headers and libraries, as well as dialog, icon, and font editors, 
plus a resource compiler. However, sample code and documentation were 
not included. Those were part of the OS/2 Presentation Manager 
Toolkit ($500), a superset of the Softset. A three-volume printed 
OS/2 programming reference was also available separately from 
Microsoft Press, or developers could get an electronic copy of the 
documentation as part of the Microsoft Programmers Library CD-ROM 
($395).

The 32-bit OS/2 2.0 SDK was scheduled to be delivered to developers
later in 1989, but thats a different chapter in the history of OS/2.
